Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
СІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт
Предмет:
СП
Група:
БІ 21

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» / ЗВІТ ТЕСТУВАННЯ ЧИСЕЛ НА ПРОСТОТУ ТА ПОБУДОВА ДОВГИХ ПРОСТИХ ЧИСЕЛ. Варіант № 9 Мета роботи: вивчити основні програмні методи тестування чисел на простоту. Завдання: Скласти програму, яка б реалізовувала тест Рабіна-Міллера на перевірку простоти числа. Результати роботи подати у звіт. Список ідентифікаторів констант, змінних і функцій, використаних у головній програмі і підпрограмах та їх пояснення Ev — логічна змінна, яка отримує результат роботи алгоритму Евкліда; rez — логічна змінна, яка отримує результат роботи всієї програми; Evklid () – метод який реалізує алгоритм Евкліда; test () – метод проведення основного тесту; n - змінна, якій присвоюється значення перевіюваного числа; s - змінна, степінь числа 2. t - змінна, непарне число. а - змінна, якій присвоюється випадкове значення; t, x, y - додаткові змінні, що потрібні для роботи методів перевірки. Блок-схема програми: Головний метод Main: Метод Evklid: Метод test: + - Текст Програми: using System; namespace Lab_3_Crupt { class Program { static void Main() { int n = 0; int s = 0; int t = 0; int a = 0; bool Ev, rez; Program ob = new Program(); Console.WriteLine("Записуємо число для перевiрки у вигляді n-1=(2^s)*t:"); n = int.Parse(Console.ReadLine()); Console.WriteLine("Введіть степінь двійки s:"); s = int.Parse(Console.ReadLine()); Console.WriteLine("Введіть число t:"); t = int.Parse(Console.ReadLine()); Random r = new Random(); a = r.Next(1, n - 1); Ev = ob.Evklid(n, a); if (Ev) { rez = ob.test(n, a); if (rez==-1) { Console.WriteLine("Не вiдомо"); Console.ReadLine(); } else { Console.WriteLine("Число складне"); Console.ReadLine(); } } else { Console.WriteLine("Число складне"); Console.ReadLine(); } } public bool test(double x, double y) { Ch1 = (Math.Pow(a,t) –1) % n Ch2 = (Math.Pow(a,t) –(-1)) % n if(Ch1=0 or Ch2=0) { break; void Main(); } else { for(p=1;p<=Math.Pow(2,s-1);p++) { rez=Math.Pow(a,pt)%n } } } public bool Evklid(int x, int y) { int t; while (y != 0) { t = y; y = x % y; x = t; } if (x == 1) return true; else return false; } } } Результат роботи програми: /
Антиботан аватар за замовчуванням

14.05.2016 10:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини